package core.model
{
import flash.utils.Dictionary;

import values.common.SimplePlayerValue;
import values.friend.FriendValue;

/**
 * FriendModel
 * @author jliang
 * 
 */
public class FriendModel extends ModelBase
{	
    //==========================================================================
    //  Constructor
    //==========================================================================
	public function FriendModel()
	{
		super();
	}
    //==========================================================================
    //  Variables
    //==========================================================================
	private var friendList:Dictionary = new Dictionary(true);  /* FriendValue */
    
    private var _friends:Vector.<FriendValue> = new Vector.<FriendValue>();
    
    public function get friends():Vector.<FriendValue>
    {
        return _friends;
    }
    
    public function get friendCount():int
    {
        return friends.length;
    }
    //==========================================================================
    //  Overridden methods: ModelBase
    //==========================================================================
	override public function update(data:*):void
	{        
		if (data && data is Array)
		{
			for each (var obj:* in data)
			{
				var info:SimplePlayerValue = new SimplePlayerValue();
				//
				var vo:FriendValue = new FriendValue();
				vo.basicInfo = info;
				addFriend(vo);
			}
		}
	}
    //==========================================================================
    //  Private methods
    //==========================================================================
    private function addFriend(vo:FriendValue):void		
    {
        if (friendList[vo.playerID] == null) _friends.push(vo);
        friendList[vo.playerID] = vo;
    }
    //==========================================================================
    //  Public methods
    //==========================================================================
	public function getFriendValueByID(id:String):FriendValue
	{
		return friendList[id];
	}
	
}
}



